#ifndef _ERP_GB_PROCESSING_1_MODEL_H
#define _ERP_GB_PROCESSING_1_MODEL_H
#include "atomic.h"

class ERP_GB_processing_1_model : public Atomic
{
public:
	ERP_GB_processing_1_model( const string & name = "ERP_GB_processing_1_model" );
	inline string className() const
	{
		return "ERP_GB_processing_1_model" ;
	}

protected:
	Model &initFunction();
	Model &externalFunction(const ExternalMessage &);
	Model &internalFunction(const InternalMessage &);
	Model &outputFunction(const InternalMessage &);

private:
	const Port &ERP_GB_1_stream_MTBE;
	float ERP_GB_1_stream_MTBE_flowrate;
	const Port &ERP_GB_1_stream_LNA;
	float ERP_GB_1_stream_LNA_flowrate;
	const Port &ERP_GB_1_stream_GASO;
	float ERP_GB_1_stream_GASO_flowrate;
	const Port &ERP_GB_1_stream_mode;
	float ERP_GB_1_stream_mode_val;
	const Port &ERP_GB_1_stream_HOGO;
	float ERP_GB_1_stream_HOGO_flowrate;

	Port &ERP_GB_1_stream_GB93;
	float ERP_GB_1_stream_GB93_flowrate;
	Port &ERP_GB_1_stream_OP;
	float ERP_GB_1_stream_OP_flowrate;
	Port &ERP_GB_1_stream_GB90;
	float ERP_GB_1_stream_GB90_flowrate;

	float ERP_GB_1_stream_MTBE_yield_val;
	float ERP_GB_1_stream_HOGO_yield_val;
	float ERP_GB_1_stream_GB93_yield_val;
	float ERP_GB_1_stream_LNA_yield_val;
	float ERP_GB_1_stream_GASO_yield_val;
	float ERP_GB_1_stream_GB90_yield_val;


	Time delay;
	float total_flowrate;
	int count;
};

#endif
